home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / mach-ns9xxx / include / mach / regs-sys-ns9360.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  5.2 KB  |  149 lines

  1. /*
  2.  * arch/arm/mach-ns9xxx/include/mach/regs-sys-ns9360.h
  3.  *
  4.  * Copyright (C) 2006,2007 by Digi International Inc.
  5.  * All rights reserved.
  6.  *
  7.  * This program is free software; you can redistribute it and/or modify it
  8.  * under the terms of the GNU General Public License version 2 as published by
  9.  * the Free Software Foundation.
  10.  */
  11. #ifndef __ASM_ARCH_REGSSYSNS9360_H
  12. #define __ASM_ARCH_REGSSYSNS9360_H
  13.  
  14. #include <mach/hardware.h>
  15.  
  16. /* System Control Module */
  17.  
  18. /* AHB Arbiter Gen Configuration */
  19. #define SYS_AHBAGENCONF    __REG(0xa0900000)
  20.  
  21. /* BRC */
  22. #define SYS_BRC(x)    __REG2(0xa0900004, (x))
  23.  
  24. /* Timer x Reload Count register */
  25. #define SYS_TRC(x)    __REG2(0xa0900044, (x))
  26.  
  27. /* Timer x Read register */
  28. #define SYS_TR(x)    __REG2(0xa0900084, (x))
  29.  
  30. /* Timer Interrupt Status register */
  31. #define SYS_TIS        __REG(0xa0900170)
  32.  
  33. /* PLL Configuration register */
  34. #define SYS_PLL        __REG(0xa0900188)
  35.  
  36. /* PLL FS status */
  37. #define SYS_PLL_FS        __REGBITS(24, 23)
  38.  
  39. /* PLL ND status */
  40. #define SYS_PLL_ND        __REGBITS(20, 16)
  41.  
  42. /* PLL Configuration register: PLL SW change */
  43. #define SYS_PLL_SWC        __REGBIT(15)
  44. #define SYS_PLL_SWC_NO            __REGVAL(SYS_PLL_SWC, 0)
  45. #define SYS_PLL_SWC_YES            __REGVAL(SYS_PLL_SWC, 1)
  46.  
  47. /* Timer x Control register */
  48. #define SYS_TC(x)    __REG2(0xa0900190, (x))
  49.  
  50. /* Timer x Control register: Timer enable */
  51. #define SYS_TCx_TEN        __REGBIT(15)
  52. #define SYS_TCx_TEN_DIS            __REGVAL(SYS_TCx_TEN, 0)
  53. #define SYS_TCx_TEN_EN            __REGVAL(SYS_TCx_TEN, 1)
  54.  
  55. /* Timer x Control register: CPU debug mode */
  56. #define SYS_TCx_TDBG        __REGBIT(10)
  57. #define SYS_TCx_TDBG_CONT        __REGVAL(SYS_TCx_TDBG, 0)
  58. #define SYS_TCx_TDBG_STOP        __REGVAL(SYS_TCx_TDBG, 1)
  59.  
  60. /* Timer x Control register: Interrupt clear */
  61. #define SYS_TCx_INTC        __REGBIT(9)
  62. #define SYS_TCx_INTC_UNSET        __REGVAL(SYS_TCx_INTC, 0)
  63. #define SYS_TCx_INTC_SET        __REGVAL(SYS_TCx_INTC, 1)
  64.  
  65. /* Timer x Control register: Timer clock select */
  66. #define SYS_TCx_TLCS        __REGBITS(8, 6)
  67. #define SYS_TCx_TLCS_CPU        __REGVAL(SYS_TCx_TLCS, 0)    /* CPU clock */
  68. #define SYS_TCx_TLCS_DIV2        __REGVAL(SYS_TCx_TLCS, 1)    /* CPU clock / 2 */
  69. #define SYS_TCx_TLCS_DIV4        __REGVAL(SYS_TCx_TLCS, 2)    /* CPU clock / 4 */
  70. #define SYS_TCx_TLCS_DIV8        __REGVAL(SYS_TCx_TLCS, 3)    /* CPU clock / 8 */
  71. #define SYS_TCx_TLCS_DIV16        __REGVAL(SYS_TCx_TLCS, 4)    /* CPU clock / 16 */
  72. #define SYS_TCx_TLCS_DIV32        __REGVAL(SYS_TCx_TLCS, 5)    /* CPU clock / 32 */
  73. #define SYS_TCx_TLCS_DIV64        __REGVAL(SYS_TCx_TLCS, 6)    /* CPU clock / 64 */
  74. #define SYS_TCx_TLCS_EXT        __REGVAL(SYS_TCx_TLCS, 7)
  75.  
  76. /* Timer x Control register: Timer mode */
  77. #define SYS_TCx_TM        __REGBITS(5, 4)
  78. #define SYS_TCx_TM_IEE            __REGVAL(SYS_TCx_TM, 0)        /* Internal timer or external event */
  79. #define SYS_TCx_TM_ELL            __REGVAL(SYS_TCx_TM, 1)        /* External low-level, gated timer */
  80. #define SYS_TCx_TM_EHL            __REGVAL(SYS_TCx_TM, 2)        /* External high-level, gated timer */
  81. #define SYS_TCx_TM_CONCAT        __REGVAL(SYS_TCx_TM, 3)        /* Concatenate the lower timer. */
  82.  
  83. /* Timer x Control register: Interrupt select */
  84. #define SYS_TCx_INTS        __REGBIT(3)
  85. #define SYS_TCx_INTS_DIS        __REGVAL(SYS_TCx_INTS, 0)
  86. #define SYS_TCx_INTS_EN            __REGVAL(SYS_TCx_INTS, 1)
  87.  
  88. /* Timer x Control register: Up/down select */
  89. #define SYS_TCx_UDS        __REGBIT(2)
  90. #define SYS_TCx_UDS_UP            __REGVAL(SYS_TCx_UDS, 0)
  91. #define SYS_TCx_UDS_DOWN        __REGVAL(SYS_TCx_UDS, 1)
  92.  
  93. /* Timer x Control register: 32- or 16-bit timer */
  94. #define SYS_TCx_TSZ        __REGBIT(1)
  95. #define SYS_TCx_TSZ_16            __REGVAL(SYS_TCx_TSZ, 0)
  96. #define SYS_TCx_TSZ_32            __REGVAL(SYS_TCx_TSZ, 1)
  97.  
  98. /* Timer x Control register: Reload enable */
  99. #define SYS_TCx_REN        __REGBIT(0)
  100. #define SYS_TCx_REN_DIS            __REGVAL(SYS_TCx_REN, 0)
  101. #define SYS_TCx_REN_EN            __REGVAL(SYS_TCx_REN, 1)
  102.  
  103. /* System Memory Chip Select x Dynamic Memory Base */
  104. #define SYS_SMCSDMB(x)    __REG2(0xa09001d0, (x) << 1)
  105.  
  106. /* System Memory Chip Select x Dynamic Memory Mask */
  107. #define SYS_SMCSDMM(x)    __REG2(0xa09001d4, (x) << 1)
  108.  
  109. /* System Memory Chip Select x Static Memory Base */
  110. #define SYS_SMCSSMB(x)    __REG2(0xa09001f0, (x) << 1)
  111.  
  112. /* System Memory Chip Select x Static Memory Base: Chip select x base */
  113. #define SYS_SMCSSMB_CSxB    __REGBITS(31, 12)
  114.  
  115. /* System Memory Chip Select x Static Memory Mask */
  116. #define SYS_SMCSSMM(x)    __REG2(0xa09001f4, (x) << 1)
  117.  
  118. /* System Memory Chip Select x Static Memory Mask: Chip select x mask */
  119. #define SYS_SMCSSMM_CSxM    __REGBITS(31, 12)
  120.  
  121. /* System Memory Chip Select x Static Memory Mask: Chip select x enable */
  122. #define SYS_SMCSSMM_CSEx    __REGBIT(0)
  123. #define SYS_SMCSSMM_CSEx_DIS        __REGVAL(SYS_SMCSSMM_CSEx, 0)
  124. #define SYS_SMCSSMM_CSEx_EN        __REGVAL(SYS_SMCSSMM_CSEx, 1)
  125.  
  126. /* General purpose, user-defined ID register */
  127. #define SYS_GENID    __REG(0xa0900210)
  128.  
  129. /* External Interrupt x Control register */
  130. #define SYS_EIC(x)    __REG2(0xa0900214, (x))
  131.  
  132. /* External Interrupt x Control register: Status */
  133. #define SYS_EIC_STS        __REGBIT(3)
  134.  
  135. /* External Interrupt x Control register: Clear */
  136. #define SYS_EIC_CLR        __REGBIT(2)
  137.  
  138. /* External Interrupt x Control register: Polarity */
  139. #define SYS_EIC_PLTY        __REGBIT(1)
  140. #define SYS_EIC_PLTY_AH            __REGVAL(SYS_EIC_PLTY, 0)
  141. #define SYS_EIC_PLTY_AL            __REGVAL(SYS_EIC_PLTY, 1)
  142.  
  143. /* External Interrupt x Control register: Level edge */
  144. #define SYS_EIC_LVEDG        __REGBIT(0)
  145. #define SYS_EIC_LVEDG_LEVEL        __REGVAL(SYS_EIC_LVEDG, 0)
  146. #define SYS_EIC_LVEDG_EDGE        __REGVAL(SYS_EIC_LVEDG, 1)
  147.  
  148. #endif /* ifndef __ASM_ARCH_REGSSYSNS9360_H */
  149.